[INFO] cloning repository https://github.com/rukarangi/Console_game_engine_Rukarangi
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/rukarangi/Console_game_engine_Rukarangi" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frukarangi%2FConsole_game_engine_Rukarangi", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frukarangi%2FConsole_game_engine_Rukarangi'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c90e3e2f81404213ec48be71c9f7b7c887d379aa
[INFO] checking rukarangi/Console_game_engine_Rukarangi against master#4eb62535fc12dd1a63fd43a4173e224e79313c4d for pr-158816
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frukarangi%2FConsole_game_engine_Rukarangi" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/rukarangi/Console_game_engine_Rukarangi
[INFO] finished tweaking git repo https://github.com/rukarangi/Console_game_engine_Rukarangi
[INFO] tweaked toml for git repo https://github.com/rukarangi/Console_game_engine_Rukarangi written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/rukarangi/Console_game_engine_Rukarangi on toolchain 4eb62535fc12dd1a63fd43a4173e224e79313c4d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/rukarangi/Console_game_engine_Rukarangi already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded signal-hook-mio v0.2.1
[INFO] [stderr]   Downloaded lock_api v0.4.4
[INFO] [stderr]   Downloaded crossterm_winapi v0.8.0
[INFO] [stderr]   Downloaded signal-hook v0.3.9
[INFO] [stderr]   Downloaded crossterm v0.20.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 21ecba2b35739ff46a41bf8bed87f9c7cee54b0b1643e095fb69785f607ef34f
[INFO] running `Command { std: "docker" "start" "21ecba2b35739ff46a41bf8bed87f9c7cee54b0b1643e095fb69785f607ef34f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "21ecba2b35739ff46a41bf8bed87f9c7cee54b0b1643e095fb69785f607ef34f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "21ecba2b35739ff46a41bf8bed87f9c7cee54b0b1643e095fb69785f607ef34f" "/opt/rustwide/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "21ecba2b35739ff46a41bf8bed87f9c7cee54b0b1643e095fb69785f607ef34f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "21ecba2b35739ff46a41bf8bed87f9c7cee54b0b1643e095fb69785f607ef34f" "/opt/rustwide/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.97
[INFO] [stderr]    Compiling signal-hook v0.3.9
[INFO] [stderr]     Checking smallvec v1.6.1
[INFO] [stderr]     Checking instant v0.1.9
[INFO] [stderr]     Checking lock_api v0.4.4
[INFO] [stderr]     Checking signal-hook-registry v1.4.0
[INFO] [stderr]     Checking getrandom v0.2.3
[INFO] [stderr]     Checking parking_lot_core v0.8.3
[INFO] [stderr]     Checking mio v0.7.13
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking parking_lot v0.11.1
[INFO] [stderr]     Checking rand v0.8.4
[INFO] [stderr]     Checking signal-hook-mio v0.2.1
[INFO] [stderr]     Checking crossterm v0.20.0
[INFO] [stderr]     Checking cursive_ideas v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/generations.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let mut allocator = &mut self.entries[last_free];
[INFO] [stdout]    |             ----^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `allocator` is never read
[INFO] [stdout]   --> src/generations.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |             allocator.is_live = false;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/map_generation.rs:276:14
[INFO] [stdout]     |
[INFO] [stdout] 276 |         for (idx, tile) in tiles.clone().iter().enumerate() {
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tile`
[INFO] [stdout]    --> src/map_generation.rs:276:19
[INFO] [stdout]     |
[INFO] [stdout] 276 |         for (idx, tile) in tiles.clone().iter().enumerate() {
[INFO] [stdout]     |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_tile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/map_generation.rs:312:13
[INFO] [stdout]     |
[INFO] [stdout] 312 |         let mut start_coord: (usize, usize) = (rng.gen_range(0..output_size.0) as usize, rng.gen_range(0..output_size.1) as usize);
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/map_generation.rs:313:13
[INFO] [stdout]     |
[INFO] [stdout] 313 |         let mut first_tile: usize = rng.gen_range(0..self.tiles);
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `count` is assigned to, but never used
[INFO] [stdout]    --> src/map_generation.rs:330:13
[INFO] [stdout]     |
[INFO] [stdout] 330 |         let mut count = 0;
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_count` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `count` is never read
[INFO] [stdout]    --> src/map_generation.rs:333:13
[INFO] [stdout]     |
[INFO] [stdout] 333 |             count += 1;
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/map_generation.rs:434:10
[INFO] [stdout]     |
[INFO] [stdout] 434 |     for (x, col) in map.iter().enumerate() {
[INFO] [stdout]     |          ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/map_generation.rs:435:14
[INFO] [stdout]     |
[INFO] [stdout] 435 |         for (y, val) in col.iter().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `tile_90` is never read
[INFO] [stdout]    --> src/map_generation.rs:565:29
[INFO] [stdout]     |
[INFO] [stdout] 565 |     let mut tile_90: Tile = tile.clone();
[INFO] [stdout]     |                             ^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 566 |     tile_90 = reverse_x(&transpose(tile));
[INFO] [stdout]     |     ------------------------------------- `tile_90` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `tile_neg90` is never read
[INFO] [stdout]    --> src/map_generation.rs:571:32
[INFO] [stdout]     |
[INFO] [stdout] 571 |     let mut tile_neg90: Tile = tile.clone();
[INFO] [stdout]     |                                ^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 572 |     tile_neg90 = transpose(&reverse_x(tile));
[INFO] [stdout]     |     ---------------------------------------- `tile_neg90` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `tile_180` is never read
[INFO] [stdout]    --> src/map_generation.rs:577:30
[INFO] [stdout]     |
[INFO] [stdout] 577 |     let mut tile_180: Tile = tile.clone();
[INFO] [stdout]     |                              ^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 578 |     tile_180 = reverse_x(&transpose(&reverse_x(&transpose(tile))));
[INFO] [stdout]     |     -------------------------------------------------------------- `tile_180` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `produce_player_dijkstra` is never used
[INFO] [stdout]    --> src/main.rs:458:8
[INFO] [stdout]     |
[INFO] [stdout] 189 | impl GameState {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 458 |     fn produce_player_dijkstra(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `expose_entries`, `deallocate`, and `is_live` are never used
[INFO] [stdout]    --> src/generations.rs:43:12
[INFO] [stdout]     |
[INFO] [stdout]  26 | impl GenerationalIndexAllocator {
[INFO] [stdout]     | ------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  43 |     pub fn expose_entries(&self) -> &Vec<AllocatorEntry> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub fn deallocate(&mut self, index: GenerationalIndex) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn is_live(&self, index: GenerationalIndex) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_len` is never used
[INFO] [stdout]    --> src/generations.rs:126:12
[INFO] [stdout]     |
[INFO] [stdout] 119 | impl<T> GenerationalIndexArray<T> {
[INFO] [stdout]     | --------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn get_len(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `insert_char` is never used
[INFO] [stdout]    --> src/renderer.rs:107:12
[INFO] [stdout]     |
[INFO] [stdout]  36 | impl Renderer {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn insert_char(&mut self, location: (u16, u16), value: u8) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Energy` is never constructed
[INFO] [stdout]  --> src/components.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum ComponentList {
[INFO] [stdout]   |          ------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 7 |     Energy(EnergyComponent),
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ComponentList` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `SimpleDown` and `SimpleLeft` are never constructed
[INFO] [stdout]  --> src/enemy_ai.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub enum AIType {
[INFO] [stdout]   |          ------ variants in this enum
[INFO] [stdout] 7 |     SimpleDown,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 8 |     SimpleLeft,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `AIType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `make_render` is never used
[INFO] [stdout]   --> src/map_generation.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl CaveMapGenerator {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn make_render(&self) -> Vec<Vec<u8>> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AdjanencyRule` is never constructed
[INFO] [stdout]    --> src/map_generation.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub struct AdjanencyRule(HashMap<(usize, usize), Vec<usize>>);
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `AdjanencyRules` is never used
[INFO] [stdout]    --> src/map_generation.rs:137:10
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub type AdjanencyRules = Vec<AdjanencyRule>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Tile` is never used
[INFO] [stdout]    --> src/map_generation.rs:138:10
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub type Tile = [[u8; 3]; 3];
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WaveFormCollapser` is never constructed
[INFO] [stdout]    --> src/map_generation.rs:141:12
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub struct WaveFormCollapser {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `allow`, `get`, and `view` are never used
[INFO] [stdout]    --> src/map_generation.rs:152:8
[INFO] [stdout]     |
[INFO] [stdout] 151 | impl AdjanencyRule {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 152 |     fn new(entries: Vec<((usize, usize), Vec<usize>)>) -> AdjanencyRule {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     fn allow(&mut self, dir: (usize, usize), tile: usize) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     fn get(&self, key: &(usize, usize)) -> Option<&Vec<usize>> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     fn view(&self) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `allowed_neighbours`, `is_complete`, `pre_wfc_3x3`, `wfc_core`, and `post_wfc` are never used
[INFO] [stdout]    --> src/map_generation.rs:191:12
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl WaveFormCollapser {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] 191 |     pub fn new() ->  WaveFormCollapser {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     fn allowed_neighbours(&self, target:(usize, usize), dir: &(usize, usize)) -> Vec<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 223 |     fn is_complete(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub fn pre_wfc_3x3(&mut self, input: Vec<Vec<u8>>) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 304 |     pub fn wfc_core(&mut self, output_size: (usize, usize)) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 413 |     pub fn post_wfc(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_lowest_non_one_pos` is never used
[INFO] [stdout]    --> src/map_generation.rs:425:8
[INFO] [stdout]     |
[INFO] [stdout] 425 | pub fn find_lowest_non_one_pos(map: &Vec<Vec<Vec<usize>>>) -> Option<(usize, usize)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_buf_8` is never used
[INFO] [stdout]    --> src/map_generation.rs:459:4
[INFO] [stdout]     |
[INFO] [stdout] 459 | fn print_buf_8(buffer: &Tile) {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_tiles_map` is never used
[INFO] [stdout]    --> src/map_generation.rs:470:4
[INFO] [stdout]     |
[INFO] [stdout] 470 | fn print_tiles_map(buffer: &Vec<Vec<Vec<usize>>>, hash: &HashMap<usize, u8>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_map` is never used
[INFO] [stdout]    --> src/map_generation.rs:482:4
[INFO] [stdout]     |
[INFO] [stdout] 482 | fn print_map(buffer: &Vec<Vec<Vec<usize>>>) {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compatible` is never used
[INFO] [stdout]    --> src/map_generation.rs:495:4
[INFO] [stdout]     |
[INFO] [stdout] 495 | fn compatible(a: &[[u8; 3]; 3], b: &[[u8; 3]; 3], direction: &Direction) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transpose` is never used
[INFO] [stdout]    --> src/map_generation.rs:536:4
[INFO] [stdout]     |
[INFO] [stdout] 536 | fn transpose(tile: &Tile) -> Tile {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reverse_x` is never used
[INFO] [stdout]    --> src/map_generation.rs:548:4
[INFO] [stdout]     |
[INFO] [stdout] 548 | fn reverse_x(tile: &Tile) -> Tile {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_reflections` is never used
[INFO] [stdout]    --> src/map_generation.rs:558:8
[INFO] [stdout]     |
[INFO] [stdout] 558 | pub fn get_reflections(tile: &Tile) -> Vec<Tile> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/generations.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let mut allocator = &mut self.entries[last_free];
[INFO] [stdout]    |             ----^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `allocator` is never read
[INFO] [stdout]   --> src/generations.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |             allocator.is_live = false;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/map_generation.rs:276:14
[INFO] [stdout]     |
[INFO] [stdout] 276 |         for (idx, tile) in tiles.clone().iter().enumerate() {
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tile`
[INFO] [stdout]    --> src/map_generation.rs:276:19
[INFO] [stdout]     |
[INFO] [stdout] 276 |         for (idx, tile) in tiles.clone().iter().enumerate() {
[INFO] [stdout]     |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_tile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/map_generation.rs:312:13
[INFO] [stdout]     |
[INFO] [stdout] 312 |         let mut start_coord: (usize, usize) = (rng.gen_range(0..output_size.0) as usize, rng.gen_range(0..output_size.1) as usize);
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/map_generation.rs:313:13
[INFO] [stdout]     |
[INFO] [stdout] 313 |         let mut first_tile: usize = rng.gen_range(0..self.tiles);
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `count` is assigned to, but never used
[INFO] [stdout]    --> src/map_generation.rs:330:13
[INFO] [stdout]     |
[INFO] [stdout] 330 |         let mut count = 0;
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_count` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `count` is never read
[INFO] [stdout]    --> src/map_generation.rs:333:13
[INFO] [stdout]     |
[INFO] [stdout] 333 |             count += 1;
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/map_generation.rs:434:10
[INFO] [stdout]     |
[INFO] [stdout] 434 |     for (x, col) in map.iter().enumerate() {
[INFO] [stdout]     |          ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/map_generation.rs:435:14
[INFO] [stdout]     |
[INFO] [stdout] 435 |         for (y, val) in col.iter().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `tile_90` is never read
[INFO] [stdout]    --> src/map_generation.rs:565:29
[INFO] [stdout]     |
[INFO] [stdout] 565 |     let mut tile_90: Tile = tile.clone();
[INFO] [stdout]     |                             ^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 566 |     tile_90 = reverse_x(&transpose(tile));
[INFO] [stdout]     |     ------------------------------------- `tile_90` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `tile_neg90` is never read
[INFO] [stdout]    --> src/map_generation.rs:571:32
[INFO] [stdout]     |
[INFO] [stdout] 571 |     let mut tile_neg90: Tile = tile.clone();
[INFO] [stdout]     |                                ^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 572 |     tile_neg90 = transpose(&reverse_x(tile));
[INFO] [stdout]     |     ---------------------------------------- `tile_neg90` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `tile_180` is never read
[INFO] [stdout]    --> src/map_generation.rs:577:30
[INFO] [stdout]     |
[INFO] [stdout] 577 |     let mut tile_180: Tile = tile.clone();
[INFO] [stdout]     |                              ^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 578 |     tile_180 = reverse_x(&transpose(&reverse_x(&transpose(tile))));
[INFO] [stdout]     |     -------------------------------------------------------------- `tile_180` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `produce_player_dijkstra` is never used
[INFO] [stdout]    --> src/main.rs:458:8
[INFO] [stdout]     |
[INFO] [stdout] 189 | impl GameState {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 458 |     fn produce_player_dijkstra(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `expose_entries`, `deallocate`, and `is_live` are never used
[INFO] [stdout]    --> src/generations.rs:43:12
[INFO] [stdout]     |
[INFO] [stdout]  26 | impl GenerationalIndexAllocator {
[INFO] [stdout]     | ------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  43 |     pub fn expose_entries(&self) -> &Vec<AllocatorEntry> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub fn deallocate(&mut self, index: GenerationalIndex) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn is_live(&self, index: GenerationalIndex) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_len` is never used
[INFO] [stdout]    --> src/generations.rs:126:12
[INFO] [stdout]     |
[INFO] [stdout] 119 | impl<T> GenerationalIndexArray<T> {
[INFO] [stdout]     | --------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn get_len(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `insert_char` is never used
[INFO] [stdout]    --> src/renderer.rs:107:12
[INFO] [stdout]     |
[INFO] [stdout]  36 | impl Renderer {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn insert_char(&mut self, location: (u16, u16), value: u8) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Energy` is never constructed
[INFO] [stdout]  --> src/components.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum ComponentList {
[INFO] [stdout]   |          ------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 7 |     Energy(EnergyComponent),
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ComponentList` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `SimpleDown` and `SimpleLeft` are never constructed
[INFO] [stdout]  --> src/enemy_ai.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub enum AIType {
[INFO] [stdout]   |          ------ variants in this enum
[INFO] [stdout] 7 |     SimpleDown,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 8 |     SimpleLeft,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `AIType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `make_render` is never used
[INFO] [stdout]   --> src/map_generation.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl CaveMapGenerator {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn make_render(&self) -> Vec<Vec<u8>> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AdjanencyRule` is never constructed
[INFO] [stdout]    --> src/map_generation.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub struct AdjanencyRule(HashMap<(usize, usize), Vec<usize>>);
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `AdjanencyRules` is never used
[INFO] [stdout]    --> src/map_generation.rs:137:10
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub type AdjanencyRules = Vec<AdjanencyRule>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Tile` is never used
[INFO] [stdout]    --> src/map_generation.rs:138:10
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub type Tile = [[u8; 3]; 3];
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WaveFormCollapser` is never constructed
[INFO] [stdout]    --> src/map_generation.rs:141:12
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub struct WaveFormCollapser {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `allow`, `get`, and `view` are never used
[INFO] [stdout]    --> src/map_generation.rs:152:8
[INFO] [stdout]     |
[INFO] [stdout] 151 | impl AdjanencyRule {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 152 |     fn new(entries: Vec<((usize, usize), Vec<usize>)>) -> AdjanencyRule {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     fn allow(&mut self, dir: (usize, usize), tile: usize) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     fn get(&self, key: &(usize, usize)) -> Option<&Vec<usize>> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     fn view(&self) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `allowed_neighbours`, `is_complete`, `pre_wfc_3x3`, `wfc_core`, and `post_wfc` are never used
[INFO] [stdout]    --> src/map_generation.rs:191:12
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl WaveFormCollapser {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] 191 |     pub fn new() ->  WaveFormCollapser {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     fn allowed_neighbours(&self, target:(usize, usize), dir: &(usize, usize)) -> Vec<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 223 |     fn is_complete(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub fn pre_wfc_3x3(&mut self, input: Vec<Vec<u8>>) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 304 |     pub fn wfc_core(&mut self, output_size: (usize, usize)) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 413 |     pub fn post_wfc(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_lowest_non_one_pos` is never used
[INFO] [stdout]    --> src/map_generation.rs:425:8
[INFO] [stdout]     |
[INFO] [stdout] 425 | pub fn find_lowest_non_one_pos(map: &Vec<Vec<Vec<usize>>>) -> Option<(usize, usize)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_buf_8` is never used
[INFO] [stdout]    --> src/map_generation.rs:459:4
[INFO] [stdout]     |
[INFO] [stdout] 459 | fn print_buf_8(buffer: &Tile) {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_tiles_map` is never used
[INFO] [stdout]    --> src/map_generation.rs:470:4
[INFO] [stdout]     |
[INFO] [stdout] 470 | fn print_tiles_map(buffer: &Vec<Vec<Vec<usize>>>, hash: &HashMap<usize, u8>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_map` is never used
[INFO] [stdout]    --> src/map_generation.rs:482:4
[INFO] [stdout]     |
[INFO] [stdout] 482 | fn print_map(buffer: &Vec<Vec<Vec<usize>>>) {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compatible` is never used
[INFO] [stdout]    --> src/map_generation.rs:495:4
[INFO] [stdout]     |
[INFO] [stdout] 495 | fn compatible(a: &[[u8; 3]; 3], b: &[[u8; 3]; 3], direction: &Direction) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transpose` is never used
[INFO] [stdout]    --> src/map_generation.rs:536:4
[INFO] [stdout]     |
[INFO] [stdout] 536 | fn transpose(tile: &Tile) -> Tile {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reverse_x` is never used
[INFO] [stdout]    --> src/map_generation.rs:548:4
[INFO] [stdout]     |
[INFO] [stdout] 548 | fn reverse_x(tile: &Tile) -> Tile {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_reflections` is never used
[INFO] [stdout]    --> src/map_generation.rs:558:8
[INFO] [stdout]     |
[INFO] [stdout] 558 | pub fn get_reflections(tile: &Tile) -> Vec<Tile> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.99s
[INFO] running `Command { std: "docker" "inspect" "21ecba2b35739ff46a41bf8bed87f9c7cee54b0b1643e095fb69785f607ef34f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "21ecba2b35739ff46a41bf8bed87f9c7cee54b0b1643e095fb69785f607ef34f", kill_on_drop: false }`
[INFO] [stdout] 21ecba2b35739ff46a41bf8bed87f9c7cee54b0b1643e095fb69785f607ef34f
